package com.ocean.metadata.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ocean.common.annotation.Excel;
import com.ocean.common.core.domain.BaseEntity;
import com.ocean.resources.domain.OResources;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 元数据模板对象 o_metadata
 *
 * @author ocean
 * @date 2023-01-29
 */
public class OMetadata extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private String id;

    /** 创建人名称 */
    @Excel(name = "创建人名称")
    private String createName;

    /** 创建日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDate;

    /** 更新人名称 */
    @Excel(name = "更新人名称")
    private String updateName;

    /** 更新日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateDate;

    /** 资源目录id */
    @Excel(name = "资源目录id")
    private Long resourcesId;
    private OResources oResources;

    /** 文件名称 */
    @Excel(name = "文件名称")
    private String fileName;

    /** 文件创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "文件创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date fileCreateDate;

    /** 文件大小 */
    @Excel(name = "文件大小")
    private Long fileSize;

    /** 产品id */
    @Excel(name = "产品id")
    private String productId;

    /** 组织机构id */
    @Excel(name = "组织机构id")
    private String departId;

    private List<OMetadataElement> oMetadataElementList;

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }
    public void setCreateName(String createName)
    {
        this.createName = createName;
    }

    public String getCreateName()
    {
        return createName;
    }
    public void setCreateDate(Date createDate)
    {
        this.createDate = createDate;
    }

    public Date getCreateDate()
    {
        return createDate;
    }
    public void setUpdateName(String updateName)
    {
        this.updateName = updateName;
    }

    public String getUpdateName()
    {
        return updateName;
    }
    public void setUpdateDate(Date updateDate)
    {
        this.updateDate = updateDate;
    }

    public Date getUpdateDate()
    {
        return updateDate;
    }
    public void setResourcesId(Long resourcesId)
    {
        this.resourcesId = resourcesId;
    }

    public Long getResourcesId()
    {
        return resourcesId;
    }

    public OResources getoResources() {
        return oResources;
    }

    public void setoResources(OResources oResources) {
        this.oResources = oResources;
    }

    public void setFileName(String fileName)
    {
        this.fileName = fileName;
    }

    public String getFileName()
    {
        return fileName;
    }
    public void setFileCreateDate(Date fileCreateDate)
    {
        this.fileCreateDate = fileCreateDate;
    }

    public Date getFileCreateDate()
    {
        return fileCreateDate;
    }
    public void setFileSize(Long fileSize)
    {
        this.fileSize = fileSize;
    }

    public Long getFileSize()
    {
        return fileSize;
    }
    public void setProductId(String productId)
    {
        this.productId = productId;
    }

    public String getProductId()
    {
        return productId;
    }
    public void setDepartId(String departId)
    {
        this.departId = departId;
    }

    public String getDepartId()
    {
        return departId;
    }

    public List<OMetadataElement> getoMetadataElementList() {
        return oMetadataElementList;
    }

    public void setoMetadataElementList(List<OMetadataElement> oMetadataElementList) {
        this.oMetadataElementList = oMetadataElementList;
    }

    @Override
    public String toString() {
        return "OMetadata{" +
                "id='" + id + '\'' +
                ", createName='" + createName + '\'' +
                ", createDate=" + createDate +
                ", updateName='" + updateName + '\'' +
                ", updateDate=" + updateDate +
                ", resourcesId=" + resourcesId +
                ", oResources=" + oResources +
                ", fileName='" + fileName + '\'' +
                ", fileCreateDate=" + fileCreateDate +
                ", fileSize=" + fileSize +
                ", productId='" + productId + '\'' +
                ", departId='" + departId + '\'' +
                ", oMetadataElementList=" + oMetadataElementList +
                '}';
    }
}
